package com.chen.operator;

public class OperatorDemo6 {
    public static void main(String[] args) {
        // 目标，掌握逻辑运算的使用
        System.out.println(isMatch(180, 75, '女')); // true
        System.out.println(isMatch(180, 75, '男')); // false

        System.out.println(isMatch(180, 300000));
        System.out.println(isMatch(180, 3000000));

        isMatch3(true);
        isMatch4();
        isMatch5();
        isMatch6();



    }

    // 需求，判断莫个人的条件是否满足择偶要求，满足则返回true，否则返回false
    // 条件，升高高于170，体重高于65-80之间，且性别为女。
    // & 前后条件必须都是true结果才是 true，只要有一个条件为false，结果就是false。
    public static boolean isMatch(int height, int weight, char sex) {
        boolean result = height > 170 & weight > 65 & weight < 80 & sex == '女';
        return result;
    }

    // 需求，找一个男朋友，要求要么身高高于180，要么收入高于30万。
    // | 前后条件只要有一个条件为true，结果就是true，必须都为false，结果就是false。
    public static boolean isMatch(int height, int income) {
        boolean result = height >= 180 | income > 300000;
        return result;
    }

    // 非，你真我假，你假我真。
    public static void isMatch3(boolean flag) {
        System.out.println(!flag);
    }

    // ^ 逻辑异或,相同条件为false，条件不同为true。
    public static void isMatch4() {
        System.out.println("============");
        System.out.println(true ^ true);// false
        System.out.println(false ^ false);// false
        System.out.println(true ^ false);// true
    }

    // 判断 && ，||与 &，| 的区别
    public static void isMatch5() {
        System.out.println("============");

        int a = 100;
        int b = 2;

        System.out.println(a > 1000 && ++b > 1); // false && 发现逻辑表达式为false，后面表达式不再执行。b没有++
        System.out.println(a > 1000 & ++b > 1); // false & 逻辑与，发现逻辑表达式为false，后面表达式执行。b会++
        System.out.println(b);
    }

    public static void isMatch6() {
        System.out.println("============");

        int a = 100;
        int b = 2;

        System.out.println(a > 10 || ++b > 1); // true || 逻辑或，发现逻辑表达式为true，后面表达式不再执行。b没有++
        // System.out.println(a > 10 | ++b > 1); //  true | 逻辑或，发现逻辑表达式为true，后面表达式执行。b会++
        System.out.println(b);
    }

}














